Within computer networking, bridging is a forwarding technique used in packet-switched networks. Unlike routing, bridging does not make assumptions about where a particular address is located within the network. Instead, bridging depends on flooding and examination of source addresses in received packet headers to locate unknown devices. Once a device has been located, the location of the device is recorded in a table where the source address is stored so as to avoid the need for further flooding. The utility of bridging is limited by its dependence on flooding, and is thus used in local area networks.
A network bridge connects multiple network segments at the data link layer, or “Layer 2,” of the Open Systems Interconnection (“OSI”) model. Layer 2 bridging is an implementation of IEEE 802.1D transparent bridging that has been used in bridges and Layer 2 switches. Accordingly, a layer 2 bridge is defined as a device that forwards layer 2 frames by matching the destination media access control (“MAC”) address of each frame it receives to a destination port as indicated by an entry in its address table. Current implementations of layer 2 bridges rely on learning and aging processes optimized for uni-processor or symmetric multiprocessing (“SMP”) systems. However, these implementations do not perform well on asymmetric multiprocessing (“AMP”) systems.